package models

import (
	db2 "go-barrage/db"
	"go-barrage/dto"
	"log"
)

type SystemUser struct {
	Id       int64  `json:"id"`
	UserName string `json:"userName"`
	Email    string `json:"email"`
	Password string `json:"password"`
}

func CheckUserIsExist(email *string) bool {
	systemUser := GetUserInfoByEmail(email)
	if systemUser.Id == 0 {
		return false
	}
	return true
}

func GetUserInfoByEmail(email *string) *SystemUser {
	var systemUser SystemUser
	db := db2.GetMysql()
	err := db.Debug().Where("email = ?", &email).Find(&systemUser).Error
	if err != nil {
		log.Println(err)
	}
	return &systemUser
}

func GetUserInfoById(userId int64) SystemUser {
	var systemUser SystemUser
	db := db2.GetMysql()
	err := db.Debug().Where("id = ?", userId).Find(&systemUser).Error
	if err != nil {
		log.Println(err)
	}
	return systemUser
}

func SaveUserInfo(userDTO *dto.SystemUserDto) {
	db := db2.GetMysql()
	db.Create(&userDTO)

}

func (SystemUser) TableName() string {
	return "t_system_user"
}
